package com.sky.user.mapper;

import com.sky.user.domain.entity.User;
import org.apache.ibatis.annotations.Select;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.HashMap;
import java.util.Map;

public interface UserMapper {

    /**
     * 根据openid查询用户信息
     *
     * @param openid 用户的openid
     * @return 用户信息
     */
    @Select("SELECT * FROM user WHERE openid = #{openid}")
    User getByOpenid(String openid);


    /**
     * 插入用户信息
     *
     * @param user 用户信息
     */
    void insert(User user);

    /**
     * 根据用户id查询用户信息
     *
     * @param userId 用户id
     * @return 用户信息
     */
    @Select("SELECT * FROM user WHERE id = #{userId}")
    User getById(Long userId);

    /**
     * 根据动态条件查询用户数量
     *
     * @param map 条件
     * @return 用户数量
     */
    Integer countByMap(Map<String, Object> map);
}
